Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set hibernate-mapping to allow for Strings longer than 255 characters?

So I'm trying to learn by creating a blog-engine. I'm using Hibernate with MySQL. Here is my hibernate-mapping for the "Post" class:

 <hibernate-mapping package="com.enw.blog">
   <class name="Post" table="POST">
     <id name="id" column="POST_ID">
       <generator class="native"/>
     </id>
     <property name="title"/>
     <property name="text"/>
     <property name="date" type="timestamp" column="POST_DATE"/>
   </class>
 </hibernate-mapping>

Of course, a post could be long. By default this sets up a table with the Strings represented as VARCHAR(255). How do I alter this?

I'd also appreciate a pointer to the right place in the docs, I can't seem to navigate them effectively.

like image 594
Eric Wilson Avatar asked Aug 27 '10 13:08

Eric Wilson


2 Answers

You can do this with either annotations

@Column(length=256)

or XML

<property name="name" type="java.lang.String"> 
    <column name="COLUMN" length="256"/> 
</property> 

Another thing, you can also change the sql-type if you want to use a specific type.

Sources :

  • Hibernate forums

Related topics :

  • Hibernate UserType and a defined length
like image 119
Colin Hebert Avatar answered Oct 04 '22 22:10

Colin Hebert


length should do the job!

<property name="title" length="1234"/>

See Chapter 5. Basic O/R Mapping: Property

like image 26
Thierry-Dimitri Roy Avatar answered Oct 04 '22 22:10

Thierry-Dimitri Roy