2014-09-25 6 views
0

SQLite에서 PostgreSQL으로 db를 변경하려고합니다. 일부 쿼리는 "character varying = integer"를 반환합니다.Postgres - character varying = integer

OrmLite 엔티티 (가입 단체) :

@DatabaseTable(tableName = "subscription") 
public class Subscription { 
    public static final String SUBSCRIPTION_ID = "id"; 
    @DatabaseField(generatedId = true, columnName = SUBSCRIPTION_ID) 
    private int subscriptionId; 

    public static final String BUYER = "buyer"; 
    @DatabaseField(foreign = true, columnName = BUYER) 
    private BuyerUser buyer; 

    public static final String SHOP = "shop"; 
    @DatabaseField(foreign = true, columnName = SHOP) 
    private Shop shop; 
} 

숍 엔티티 :

@DatabaseTable(tableName = "shop") 
public class Shop { 
    public static final String SHOP_ID_FIELD = "id"; 
    @DatabaseField(generatedId = true, allowGeneratedIdInsert = true, columnName = SHOP_ID_FIELD) 
    private int shopId; 

    public static final String SHOP_NAME_FIELD = "shop_name"; 
    @DatabaseField(columnName = SHOP_NAME_FIELD) 
    private String shop_name; 
} 

숍 아이디 유형 INT이지만, pgAdmin에서 :

CREATE TABLE subscription 
(
    id serial NOT NULL, 
    buyer character varying(255), 
    shop character varying(255), 
    CONSTRAINT subscription_pkey PRIMARY KEY (id) 
) 

숍 외국 필드 유형입니다 숯. 뭐가 잘못 되었 니?

+0

* 일부 쿼리는 "character varying = integer"*를 반환합니다. 어, 뭐라구? * 전체 오류 메시지 텍스트 * 란 무엇입니까? –

+0

org.postgresql.util.psqlexception 오류 : 연산자가 존재하지 않습니다 : character varying = integer –

+0

@WingedPanther 문제와의 관계가 무엇인지 이해하지 못합니다. –

답변

0

내 잘못이었습니다. 필드 유형은 실제로 char였습니다.