Day01:

1、如果想要强制性的决定entity中字段的数据类型
@org.hibernate.annotations.Type( type = "nstring" )
2、关于时间的注解
@Temporal(TemporalType.DATE)
适用于java.util.Date or java.util.Calendar 类型的字段
3、@Generated
never、insert、always
4、行的转换

@NaturalId
private String username;

@Column(name = "pswd")
@ColumnTransformer(
    read = "decrypt( 'AES', '00', pswd  )",
    write = "encrypt('AES', '00', ?)"
)
private String password;

private int accessLevel;

@ManyToOne(fetch = FetchType.LAZY)
private Department department;

@ManyToMany(mappedBy = "employees")
private List<Project> projects = new ArrayList<>();

@Type(type = "org.hibernate.userguide.mapping.basic.MonetaryAmountUserType")
@Columns(columns = {
    @Column(name = "money"),
    @Column(name = "currency")
})
@ColumnTransformer(
    forColumn = "money",
    read = "money / 100",
    write = "? * 100"
)
private MonetaryAmount wallet;

5、@Formula 某些借用数据库计算的问题
@Formula(value = "credit * rate")
private Double interest;
6、@Where筛选数据
@Entity(name = "Account")
@Where( clause = "active = true" )

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容