我意识到这个问题有点老了,但我已经完成了这项工作。
基本上,我有一个带有地址 UDT 的用户配置文件,并且该 UDT 有自己的 POJO/实体类。 UDT地址实体类使用了@UserDefinedType
注解:
@UserDefinedType("address")
public class AddressEntity implements Serializable {
private static final long serialVersionUID = 1817053316281666003L;
@Column("mailto_name")
private String mailtoName;
private String street;
private String street2;
private String city;
...
用户实体使用地址 UDT 实体:
@Table("user")
public class UserEntity implements Serializable {
private static final long serialVersionUID = 4067531918643498429L;
@PrimaryKey("user_id")
private UUID userId;
@Column("user_email")
private String userEmail;
@Column("first_name")
private String firstName;
@Column("last_name")
private String lastName;
@Column("addresses")
private List<AddressEntity> addresses;
...
然后,将用户的地址数据映射到UserEntity
目的 (userE
如下)并使用标准存储库方法保存它。
// save to DB
userRepo.save(userE);
您可以在此处找到为支持用户服务而构建的所有内容:https://github.com/datastaxdevs/workshop-ecommerce-app/blob/main/backend/src/main/java/com/datastax/tutorials/service/user/ https://github.com/datastaxdevs/workshop-ecommerce-app/blob/main/backend/src/main/java/com/datastax/tutorials/service/user/
所以我想说看看课程widgetData
对象,确保它使用@UserDefinedType
注释,并使用@Column
中的注释Dashboard
类(基本上,摆脱@CassandraType
):
@Column("dashboardState")
private List<WidgetData> dashboardState;