2010-07-05 31 views
22

Loại ánh xạ chính xác từ văn bản kiểu dữ liệu MySql đến java sử dụng ngủ đông là gì?Loại ánh xạ văn bản mysql typ vào java hibernate!

@Column(name = "STACKTRACE", length = Integer.MAX_VALUE) 
public String getStacktrace() { 
    return this.stacktrace; 
} 
+3

Integer.MAX_VALUE? Có thật không? Đối với mỗi dấu vết ngăn xếp? Tôi muốn giới thiệu một cái gì đó hợp lý hơn đó là kích thước CLOB. – duffymo

Trả lời

48

Hãy thử điều này:

@Column(name = "STACKTRACE") 
@Type(type="text") 
+0

Kính gửi Maurice, tôi đã thử ở trên nhưng tôi gặp lỗi. sự giúp đỡ của bạn sẽ rất đáng giá. http://stackoverflow.com/questions/25094410/hibernate-abstractmethoderror-setcharacterstreamiljava-io-readerjv?noredirect=1#comment39048566_25094410 –

+0

Tại sao không sử dụng '' @ Lob'' (mặc dù nó sẽ tạo ra '' LONGTEXT'') ? – heroin

8

Điều ngược lại Công cụ kỹ thuật Hibernate, làm từ Loại MySql văn bản:

@Column(name = "COLUMNNAME", length = 65535) 
+0

Thật vậy. Nếu bạn nhìn vào 'MySqlDialect', bạn sẽ thấy rằng nó sử dụng độ dài để lấy được kiểu. –

+0

Tôi nghĩ rằng đó là giải pháp tốt hơn nếu bạn sử dụng JPA. – mhmpl

11

Tôi nghĩ rằng đây giải quyết vấn đề

@Column(length = 65535,columnDefinition="Text") 
0

Để khắc phục vấn đề này, tôi phải chú thích như dưới đây :

@Column(name="LONG_DESCRIPTION" , length = 65535, columnDefinition="TEXT") 
@Type(type="text")' 
Các vấn đề liên quan