我正在实现一个注释处理器,以确保标记有注释的元素是实现某个接口的类的实例,或者是实现某个接口的类型的使用:
@Documented
@Target(value = { ElementType.PARAMETER, ElementType.TYPE_USE })
@Retention(value = RetentionPolicy.RUNTIME)
public @interface AuditSubject {
}
public interface Auditable {
// methods that provide data for writing a log entry...
}
public class Report implements Auditable {
}
Run Code Online (Sandbox Code Playgroud)
对于带注释的元素,必须在方法执行后(使用AOP)创建日志条目.例子:
@CreateLogEntry
public Result persist(@AuditSubject Report newReport) {
// A log entry must be created based on the incoming 'newReport' instance.
}
@CreateLogEntry
public UpdateResult<@AuditSubject Report> update(Report update) {
// A log entry must be created based on the updated report, which …Run Code Online (Sandbox Code Playgroud) java annotations annotation-processing java-8 annotation-processor
我的要求是在报告中显示两个子报告.我正在做的是,我创建了两个子报告并将其放入报告中.
但问题在于,两个子报告都在增长(即由于记录数量可变,它们的高度不是静态的).我只想在第一个子报告结束后出现第二个sub =报告.我怎样才能实现同样的目标?
我正在开发一个 Java EE 7 应用程序(持久性提供程序是 Hibernate 4.3.5,DB 是 Oracle 11g),其中我使用了一个带有 Long 字段的实体类,该字段表示日期的毫秒数。这样做是为了避免使用 DB 的日期数据类型(例如时区处理)的问题。这是相关的实体类代码:
import java.util.Date;
@Table
@Entity
public class Transference implements Serializable {
private static final long serialVersionUID = 1L;
// ... elided fields
private Date dateTime;
// ... elided setters and getters
@Column(name = "datetime")
@Convert(converter = DateConverter.class)
@NotNull
public Date getDateTime() {
return dateTime;
}
}
Run Code Online (Sandbox Code Playgroud)
元模型类中的属性:
public static volatile SingularAttribute<Transference, Date> dateTime;
Run Code Online (Sandbox Code Playgroud)
这是简单的 JPA 2.1 转换器:
import java.util.Date;
@Converter
public class DateConverter implements AttributeConverter<Date, Long> { …Run Code Online (Sandbox Code Playgroud)