12c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar/* 22c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * Copyright (C) 2017 The Android Open Source Project 32c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * 42c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * Licensed under the Apache License, Version 2.0 (the "License"); 52c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * you may not use this file except in compliance with the License. 62c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * You may obtain a copy of the License at 72c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * 82c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * http://www.apache.org/licenses/LICENSE-2.0 92c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * 102c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * Unless required by applicable law or agreed to in writing, software 112c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * distributed under the License is distributed on an "AS IS" BASIS, 122c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * See the License for the specific language governing permissions and 142c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar * limitations under the License. 152c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar */ 162c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar 17bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viverettepackage androidx.room.integration.testapp; 182c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar 19bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.Dao; 20bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.Database; 21bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.Insert; 22bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.Query; 23bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.RoomDatabase; 24bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.integration.testapp.vo.IntAutoIncPKeyEntity; 25bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.integration.testapp.vo.IntegerAutoIncPKeyEntity; 26bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.integration.testapp.vo.IntegerPKeyEntity; 27bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.integration.testapp.vo.ObjectPKeyEntity; 282c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar 29f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyarimport java.util.List; 30f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar 31540e3498175652abe452d8e0ed1c252e718ddf5aFlorina Muntenescu@Database(entities = {IntAutoIncPKeyEntity.class, IntegerAutoIncPKeyEntity.class, 32a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu ObjectPKeyEntity.class, IntegerPKeyEntity.class}, version = 1, 33a64756a18111a7312b3fa03b76d13381a8907176Yigit Boyar exportSchema = false) 342c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyarpublic abstract class PKeyTestDatabase extends RoomDatabase { 352c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar public abstract IntPKeyDao intPKeyDao(); 36a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu public abstract IntegerAutoIncPKeyDao integerAutoIncPKeyDao(); 37540e3498175652abe452d8e0ed1c252e718ddf5aFlorina Muntenescu public abstract ObjectPKeyDao objectPKeyDao(); 38a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu public abstract IntegerPKeyDao integerPKeyDao(); 392c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar 402c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar @Dao 412c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar public interface IntPKeyDao { 422c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar @Insert 432c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar void insertMe(IntAutoIncPKeyEntity... items); 44f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar @Insert 45f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar long insertAndGetId(IntAutoIncPKeyEntity item); 46f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar 47f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar @Insert 48f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar long[] insertAndGetIds(IntAutoIncPKeyEntity... item); 49f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar 503542101509120586bbae17b1f748f302e1fb82a3Yigit Boyar @Query("select * from IntAutoIncPKeyEntity WHERE pKey = :key") 512c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar IntAutoIncPKeyEntity getMe(int key); 52f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar 53f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar @Query("select data from IntAutoIncPKeyEntity WHERE pKey IN(:ids)") 54f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar List<String> loadDataById(long... ids); 552c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar } 562c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar 572c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar @Dao 58a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu public interface IntegerAutoIncPKeyDao { 592c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar @Insert 60540e3498175652abe452d8e0ed1c252e718ddf5aFlorina Muntenescu void insertMe(IntegerAutoIncPKeyEntity item); 61540e3498175652abe452d8e0ed1c252e718ddf5aFlorina Muntenescu 623542101509120586bbae17b1f748f302e1fb82a3Yigit Boyar @Query("select * from IntegerAutoIncPKeyEntity WHERE pKey = :key") 632c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar IntegerAutoIncPKeyEntity getMe(int key); 64f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar 65f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar @Insert 66f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar long insertAndGetId(IntegerAutoIncPKeyEntity item); 67f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar 68f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar @Insert 69f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar long[] insertAndGetIds(IntegerAutoIncPKeyEntity... item); 70f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar 71f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar @Query("select data from IntegerAutoIncPKeyEntity WHERE pKey IN(:ids)") 72f5f2cf6b9ed63915448e81551e4b7bb72a26030eYigit Boyar List<String> loadDataById(long... ids); 732c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar } 74540e3498175652abe452d8e0ed1c252e718ddf5aFlorina Muntenescu 75540e3498175652abe452d8e0ed1c252e718ddf5aFlorina Muntenescu @Dao 76540e3498175652abe452d8e0ed1c252e718ddf5aFlorina Muntenescu public interface ObjectPKeyDao { 77540e3498175652abe452d8e0ed1c252e718ddf5aFlorina Muntenescu @Insert 78540e3498175652abe452d8e0ed1c252e718ddf5aFlorina Muntenescu void insertMe(ObjectPKeyEntity item); 79540e3498175652abe452d8e0ed1c252e718ddf5aFlorina Muntenescu } 80a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu 81a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu @Dao 82a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu public interface IntegerPKeyDao { 83a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu @Insert 84a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu void insertMe(IntegerPKeyEntity item); 85a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu 86a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu @Query("select * from IntegerPKeyEntity") 87a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu List<IntegerPKeyEntity> loadAll(); 88a1be0035ff9cb46339f02db942c990e44eab7075Florina Muntenescu } 892c6462f129bf43965ed8b054b026f6a28fe6fd8fYigit Boyar} 90