PropertyOverrides and PropertyOverride Annotations
import com.jmethods.catatumbo.Embedded;
import com.jmethods.catatumbo.Entity;
import com.jmethods.catatumbo.Identifier;
import com.jmethods.catatumbo.Property;
import com.jmethods.catatumbo.PropertyOverride;
import com.jmethods.catatumbo.PropertyOverrides;
@Entity(kind = "people")
@PropertyOverrides({
@PropertyOverride(name = "homeAddress.street", property = @Property(
name = "home_street", indexed = true)),
@PropertyOverride(name = "homeAddress.city", property = @Property(
name = "home_city")),
@PropertyOverride(name = "homeAddress.state", property = @Property(
name = "home_state")),
@PropertyOverride(name = "homeAddress.zip", property = @Property(
name = "home_zip")),
@PropertyOverride(name = "workAddress.street", property = @Property(
name = "work_street")),
@PropertyOverride(name = "workAddress.city", property = @Property(
name = "work_city")),
@PropertyOverride(name = "workAddress.state", property = @Property(
name = "work_state")),
@PropertyOverride(name = "workAddress.zip", property = @Property(
name = "work_zip")),})
public class Person {
@Identifier
private long id;
@Property(name = "fname")
private String firstName;
@Property(name = "lname")
private String lastName;
@Property(indexed = false)
private int birthYear;
private boolean citizen;
@Embedded
private Address homeAddress;
@Embedded
private Address workAddress;
//Setter and getter methods for each of the above fields...
}