我的实体类:
@Entity
@Table(catalog = "emp", name = "person")
@XmlAccessorType(XmlAccessType.FIELD)
public class Person implements Serializable {
private static final long serialVersionUID = 1L;
/**
*/
@Column(name = "ID", nullable = false,length = 50)
@Basic(fetch = FetchType.EAGER)
@Id
@XmlElement
String id;
/**
*/
@Column(name = "ADDRESS", length = 50)
@Basic(fetch = FetchType.EAGER)
@XmlElement
String address;
/**
*/
@Column(name = "EMAIL", length = 50)
@Basic(fetch = FetchType.EAGER)
@XmlElement
String email;
@Column(name = "DATE")
@Basic(fetch = FetchType.EAGER)
@XmlElement
DateTime date;
/**
*/
/*getters and setters */
我在约会时使用 joda time。当我坚持时,它会抛出这个异常:
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'DATE' at row 1
我的日期字段包含此值:2015-09-02T16:24:05.226+04:00
下面是它保存在数据库中的代码:
public Person save(Person person) {
Person currentPerson = entityManager.find(Person.class,
person.getId());
if (currentPerson != null) {
entityManager.detach(currentPerson);
person =entityManager.merge(person);
} else {
entityManager.persist(person);
}
return person;
}
我正在使用 hibernate/jpa 和 mysql。我的数据库是基于我的实体类创建的。我的日期在我的实体类中是 datetime 类型,但在数据库中它是 tinyblob 类型。
最佳答案
Datetime 似乎不能使用毫秒: mysql
关于java - com.mysql.jdbc.MysqlDataTruncation : Data truncation: Data too long for column 'DATE' at row 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32359209/