gpt4 book ai didi

java - 如何使用推土机将类型为抽象类的字段映射?

转载 作者:搜寻专家 更新时间:2023-11-01 03:55:28 26 4
gpt4 key购买 nike

我有以下域结构:

abstract class Person { String name; //with getter and setter }
class Employer extends Person {}
class Employee extends Person {}
class Contract { Person contractor; //with getter and setter }
class PersonDTO implements Serializable { String name; String type; //type == 'Employee' or 'Employer' }
class ContractDTO implements Serializable { PersonDTO contractor; }

现在,当我设置以下推土机映射时:

<mapping>
<class-a>Person</class-a>
<class-b>PersonDTO</class-b>
</mapping>
<mapping>
<class-a>Employer</class-a>
<class-b>PersonDTO</class-b>
</mapping>
<mapping>
<class-a>Contract</class-a>
<class-b>ContractDTO</class-b>
</mapping>

我的问题涉及字段 Contract.contractor 从 B 到 A 的映射,因为字段 Contract.contractor 是一个抽象类,推土机无法猜测如何实例化它。

所以我的问题很简单:我如何向推土机表明,对于字段 Contract.contractor 的映射,它应该实例化 Employer if type == 'Employer ' 和其他地方 Employee ?

感谢您的帮助。

最佳答案

您可以通过提示来做到这一点。有点像这样:

<mapping>
<class-a>Contract</class-a>
<class-b>ContractDTO</class-b>
<field>
<a>contractor</a>
<b>contractor</b>
<a-hint>your.package.Employer, your.package.Employee</a-hint>
<b-hint>your.DTOpackage.EmployerDTO, your.DTOpackage.EmployeeDTO</b-hint>
</field>
</mapping>

关于java - 如何使用推土机将类型为抽象类的字段映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8472817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com