hibernate常用注解

@Entity
@Table(name="tb_orders")
@BatchSize(size=5) //当懒加载是容易出现n+1问题,该注解表示每次可以加载5条懒加载的代理对象,(如果有10个代理对象,没有该注解会发出10条语句查询这10个代理对象,有该注解则只需要2次),解决n+1问题,更倾向于使用join fetch
@DynamicInsert//在hibernate动态生成insert语句时,只生成有只值得字段
@DynamicUpdate//只生成修改的字段 update person set name=? where id=? ,margin()方法也是同样的效果
public class Person{
}

1.枚举类型
@Enumerated(EnumType.ORDINAL)

 2.抓取策略
@Fetch(FetchMode.SUBSELECT)
private List<Employee> employees = new ArrayList<>();
//FetchMode.SELECT 先查询部门,获取每个部门的员工都会发送一条sql
//FetchMode.SUBSELECT 先查询部门,获取每个部门员工时,通过子查询一次查出所有部门的所有员工 
//FetchMode.JOIN   通过关联查询一次查出所有部门所有员工
3.标识符
(1)简单标识符
javax.persistence.Id注释
javax.persistence.GeneratedValue表示生成一个标识符属性(只能作用于shortintlong)
(2)符合标识符
@Entity
public class Login {
    @EmbeddedId
    private PK pk;
    @Embeddable
    public static class PK implements Serializable {
        private String system;
        private String username;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值