2011-05-24 15 views
10

estoy usando Hibernate para mapear con MySQLes posible ignorar algún campo cuando el mapeo de anotación, la clase de entidad

tengo una clase de entidad en la que tengo los métodos mapeados con columnas en MySQL

El La pregunta es, si es posible que no mapee parte del método en esa clase con cualquier columna en SQL, como si tratara de no mapear uno de mis métodos en la clase de entidad, da una excepción.

Aquí es el fragmento de código

@Column(name="skills") 
public String getSkills() { 
    return skills; 
} 

public int getRowCount() { 
    return rowCount; 
} 

En el código anterior he asignado getSkills con habilidades de columna en SQL, pero no quieren asignar getRowCount() con cualquier columna en MySQL.

¿Cómo podría lograr eso (como en esta situación anterior se desconoce su excepción, rowCount)?

Respuesta

24

Utilice la @Transient anotación:

Esta anotación especifica que la propiedad o campo no es persistente. Se utiliza para anotar una propiedad o campo de una clase de entidad, una superclase mapeada o una clase incrustada.

es decir

@Column(name="skills") 
public String getSkills() { 
    return skills; 
} 

@Transient 
public int getRowCount() { 
    return rowCount; 
} 
+0

Gracias por su ayuda, un error se ha ido, pero estoy tratando de establecer algún valor en el rowCount por su colocador y luego trato de conseguir que el valor de este captador public int GetRowCount() { return rowCount; } como lo configuro 4 y lo guarda allí, pero cuando intento getRowCount siempre tiene 0, ¿alguna solución? gracias – junaidp

+0

@ user764446: o bien dejas que Hibernate lo administre, o lo administras. Si está marcado como '@ Transient', entonces depende de usted administrar el valor. – skaffman

+0

sí, estoy tratando de administrarlo yo mismo, pero no obtengo el valor que establezco allí, cada otro método me da el verdadero valor, excepto este método, ya que otro método se ha mapeado con las columnas en la base de datos – junaidp

Cuestiones relacionadas