Envers,withModifiedFlag 有一个默认名称列吗?
Envers, there is a default name column for withModifiedFlag?
我需要做一份报告,说明特定 table 的哪些字段已更改。所以我在 Envers 上找到了这个属性来标识那些字段:withModifiedFlag=true
。我知道我可以只为我想要的字段或整个 table 做。
我是否必须使用 modifiedColumnName
设置实体的每个字段,或者这些列是否有默认名称?
我试图创建一个类型为布尔值和整数的列 field_name_modified
,但没有成功。也许我错过了什么。
如果我们假设下面的实体示例
@Entity
@Audited(withModifiedFlag = true)
public class SomeEntity {
private String customerName;
}
Hibernate Envers会使用字段名/属性来确定修改后的列名的前缀部分,然后追加默认的后缀值_MOD.
这意味着对于上面的示例实体,修改后的列名称是 customerName_MOD.
您可以指定自己的 modifiedColumnName 值,该值仍会附加后缀,但如果您希望使用默认行为,通常不需要使用该属性。
@Entity
@Audited(withModifiedFlag = true)
public class SomeEntity {
@Audited(modifiedColumnName = "CUSTOMER_NAME")
private String customerName;
}
以上示例将使用 CUSTOMER_NAME_MOD.
使用的数据类型应该是您的方言用于 布尔值 值。
我需要做一份报告,说明特定 table 的哪些字段已更改。所以我在 Envers 上找到了这个属性来标识那些字段:withModifiedFlag=true
。我知道我可以只为我想要的字段或整个 table 做。
我是否必须使用 modifiedColumnName
设置实体的每个字段,或者这些列是否有默认名称?
我试图创建一个类型为布尔值和整数的列 field_name_modified
,但没有成功。也许我错过了什么。
如果我们假设下面的实体示例
@Entity
@Audited(withModifiedFlag = true)
public class SomeEntity {
private String customerName;
}
Hibernate Envers会使用字段名/属性来确定修改后的列名的前缀部分,然后追加默认的后缀值_MOD.
这意味着对于上面的示例实体,修改后的列名称是 customerName_MOD.
您可以指定自己的 modifiedColumnName 值,该值仍会附加后缀,但如果您希望使用默认行为,通常不需要使用该属性。
@Entity
@Audited(withModifiedFlag = true)
public class SomeEntity {
@Audited(modifiedColumnName = "CUSTOMER_NAME")
private String customerName;
}
以上示例将使用 CUSTOMER_NAME_MOD.
使用的数据类型应该是您的方言用于 布尔值 值。