在项目中常遇到的基本注解
1. @Entity创建实体类
2. @Table :对应的数据表名
3. @Id :主键
4. @GeneratedValue:主键生成策略
5. @Column : 映射表对应的字段名
6. @Basic : 表示该属性是表字段的映射。 如果实体的字段上没有任何注解默认就是@Basic
7. @Transient : 表示该属性不是表字段的映射
8. @Lob : 将属性映射成支持的大对象类型 ,如Clob、Blob
9. @IdClass 联合主键,一般不用也不推荐用
10. @Temporal : 用来设置Date类型的属性映射到对应精度的字段
11. @Enumerated 直接映射枚举类型的字段
lombok
lombok 能够减少大量的模板代码,使用lombok提供的注解之前需要导入lombok.Data,下面列举下 lombok提供的注解:
@Data : 注解在类上, 为类提供读写属性(get,set), 此外还提供了 equals()、hashCode()、toString() 方法
val : 和 scala 中 val 同名, 可以在运行时确定类型;
@NonNull : 注解在参数上, 如果该类参数为 null , 就会报出异常, throw new NullPointException(参数名)
@Cleanup : 注释在引用变量前, 自动回收资源 默认调用 close() 方法
@Getter/@Setter : 注解在类上, 为类提供读写属性
@Getter(lazy=true) :
@ToString : 注解在类上, 为类提供 toString() 方法
@EqualsAndHashCode : 注解在类上, 为类提供 equals() 和 hashCode() 方法
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 注解在类上, 为类提供无参,有指定必须参数, 全参构造函数
@Value :
@Builder : 注解在类上, 为类提供一个内部的 Builder
@SneakThrows :
@Synchronized : 注解在方法上, 为方法提供同步锁
@Log :
@Log4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象
@Slf4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象
@Cleanup("dispose") org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);
@Cleanup InputStream in = new FileInputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);
hibernate
@Id,无对应的属性指定实体的主键。
Id应用注释的字段或属性应为以下类型之一:任何Java基元类型;