如何使 mysql 中的列包含 Java class
How to make a column in mysql hold a Java class
您好,我正在尝试使用 Spring Boot 和 JPA 在 MySQL 中创建一个 table,并且我正在尝试将 table 中的其中一列设置为一个 Java Class 又名 JSON 对象有什么方法可以做到这一点,是否有此解决方案的任何示例或文档。
我做的Table例子
import com.project.something.here.Userdata
@Entity
@Table(name = "User")
public class Exercises {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private String id;
@Column(name = "user_name")
private String username;
@Column(name = "user_description")
private String userdescription;
@Column(name = "user_link")
private String userlink;
//here is where I am trying to set one of the columns as a Java class or a JSON object.
private Userdata userdata;
我相信您更关注JPA 中的一对一映射。请看一看:https://www.baeldung.com/jpa-one-to-one
看看对你有没有帮助。
import com.project.something.here.Userdata;
@Entity
@Table(name = "User")
public class Exercises {
// ...
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(unique = true)
private Userdata userdata;
// ...
}
Userdata.java
@Entity
@Table(name = "userdata")
public class Userdata {
@Id
@Column(name = "id")
private Long id;
//...
@OneToOne(mappedBy = "userdata")
private Exercises exercises;
//... getters and setters
}
您好,我正在尝试使用 Spring Boot 和 JPA 在 MySQL 中创建一个 table,并且我正在尝试将 table 中的其中一列设置为一个 Java Class 又名 JSON 对象有什么方法可以做到这一点,是否有此解决方案的任何示例或文档。
我做的Table例子
import com.project.something.here.Userdata
@Entity
@Table(name = "User")
public class Exercises {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private String id;
@Column(name = "user_name")
private String username;
@Column(name = "user_description")
private String userdescription;
@Column(name = "user_link")
private String userlink;
//here is where I am trying to set one of the columns as a Java class or a JSON object.
private Userdata userdata;
我相信您更关注JPA 中的一对一映射。请看一看:https://www.baeldung.com/jpa-one-to-one
看看对你有没有帮助。
import com.project.something.here.Userdata;
@Entity
@Table(name = "User")
public class Exercises {
// ...
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(unique = true)
private Userdata userdata;
// ...
}
Userdata.java
@Entity
@Table(name = "userdata")
public class Userdata {
@Id
@Column(name = "id")
private Long id;
//...
@OneToOne(mappedBy = "userdata")
private Exercises exercises;
//... getters and setters
}