我有几个POJO,这将有一个货币数额。我的想法是创建一个通用对象MonetaryAmount
(由货币和值组成),然后每当我想在我的POJOs中表示一个货币金额时,就会使用它:
public class MonetaryAmount {
private String currency;
private BigDecimal value;
}
public class Account {
@Column(name = "ACCOUNT_NAME")
private String name;
private MonetaryAmount balance; // TODO set column annotation values of currency and value
}
由于MonetaryAmount
将在多个POJO中使用,我无法用@Column
注释currency
和value
属性,因为在所有情况下,列名并不总是相同的。有没有办法注释MonetaryAmount
属性(如上例中的balance
)以提供货币
和值
属性的列名,以便jOOQ在映射/取消映射POJO时理解它们,类似于Hibernate解释@AttributeOverride
请问?
假设Hibernate:您可以使用嵌入式
组件。
@Entity
public class Account implements Serializable{
@Column(name = "ACCOUNT_NAME")
private String name;
@Embedded
@AttributeOverrides( {
@AttributeOverride(name="currency", column = @Column(name="CURRENCY") ),
@AttributeOverride(name="value", column = @Column(name="VALUE") )
} ) private MonetaryAmount balance;
}
@Embeddable
public class MonetaryAmount implements Serializable{
private String currency;
private BigDecimal value;
}
虽然这应该是可行的,但我认为在您的案例中,您应该尝试继承,并且仍然使用相同的方法以面向对象的方式重写属性。
目前,jOOQ的DefaultRecordMapper还不支持@嵌入式
注释(jOOQ 3.11)。相关的功能要求是:
如果您没有在POJO上使用JPA注释,那么您现在可以做的是在查询中使用以下混淆现象表示法:
ctx.select(
ACCOUNT.ACCOUNT_NAME.as("name"),
ACCOUNT.CURRENCY.as("balance.currency"),
ACCOUNT.VALUE.as("balance.value"))
.from(ACCOUNT)
.fetchInto(Account.class);
此功能记录在DefaultRecordMapper
中,请参阅:
如果是场。getName()是我的_字段。MY_嵌套_字段(区分大小写!),然后,该字段的值将被视为嵌套值MY_nested_字段,该字段设置在传递给所有这些字段的嵌套POJO上(无论可见性如何):
返回或设置一个 String 类型,表示邮件合并数据源中用于筛选的域名。可读写。 expression.Column expression 必需。该表达式返回“应用于”列表中的对象之一。 示例 本示例更改已有筛选,从邮件合并中删除所有 Region 域不等于 "WA" 的记录。 Sub SetQueryCriterion() Dim appOffice As Office.OfficeDa
我的测试属性将被放置在生产属性中的属性覆盖。当时,我两人都给起了名字,但它不起作用,所以我就像这篇文章中说的那样,改成了并使用profile。现在看起来就像贝娄(kotlin): 在中,我只将此属性设置为,而在中,则设置为。 这个测试失败了。完整示例可在github上找到 Thx提前。
问题内容: 我注意到编译器不会让我用另一个存储的值覆盖存储的属性(这似乎很奇怪): 但是,我可以使用计算属性来执行此操作: 为什么不允许我再给它一个值? 为什么用存储的属性覆盖是可憎的,而要使用计算的一个犹太洁食呢?他们在想什么呢? 问题答案: 为什么不允许我再给它另一个值? 绝对可以为继承的属性赋予不同的值。如果您在采用该初始值的构造函数中初始化属性,然后传递与派生类不同的值,则可以执行此操作:
我们在 field 对应的 Tag 中对 Column 的一些属性进行定义,定义的方法基本和我们写SQL定义表结构类似,比如: type User struct { Id int64 Name string `xorm:"varchar(25) notnull unique 'usr_name' comment('姓名')"` } 对于不同的数据库系统,数据类型其实
问题内容: 我有一堂课,有以下领域。这些属性用于在需要调用外部rest API方法时序列化为json对象。 在属性名称中,外部API服务调用需要一些类似json归档名称格式的内容。 就我而言,这可以根据诸如test,dev和prod之类的环境进行更改。因此,我正在寻找一种将listId值移动到app.config中的方法。 我尝试按照以下方式进行操作,但不允许这样做。如果分配常数值,它将起作用。
各位, 在Ant(Jenkins)中构建我们的Android应用程序时,我们遇到了一个属性范围问题。这打破了我们的emma单元测试覆盖率。 我们使用全局构建。xml文件,包含以下行: 如您所见,它在单个项目中启动目标。我们使用构建。 在构建过程中,我打印emma的值。已启用,由emma目标设置为true。然而,当Ant达到调试目标时,emma。已启用的不再设置。这导致我们的测试在没有启用emma覆